package org.springside.examples.miniweb.entity.report;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.springframework.format.annotation.DateTimeFormat;
import org.springside.examples.miniweb.entity.account.User;

/**
 * Back up pump report.
 * 
 * 注释见{@link User}.
 * 
 * @author calvin
 */
@Entity
@Table(name = "backPumpReport")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class BackPumpReport extends ReportIdEntity {

	private String typeNumber;
	
	@Column(name="sn")
	private String SN;
	
	@Column(name="pn")
	private String PN;
	
	private String notifier;
	
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date notifyDate;
	
	private String loader;
	
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date loadDate;
	
	private String customerName;
	
	private String exchangeSN;
	
	private String exchangePN;
	
	private String comment;
	
	private String updateByPersion;

	/**
	 * @return the updateByPersion
	 */
	public String getUpdateByPersion() {
		return updateByPersion;
	}


	/**
	 * @param updateByPersion the updateByPersion to set
	 */
	public void setUpdateByPersion(String updateByPersion) {
		this.updateByPersion = updateByPersion;
	}


	/**
	 * @return the updateTime
	 */
	public Date getUpdateTime() {
		return updateTime;
	}


	/**
	 * @param updateTime the updateTime to set
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}



	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date updateTime;
	

	/**
	 * @return the typeNumber
	 */
	public String getTypeNumber() {
		return typeNumber;
	}


	/**
	 * @param typeNumber the typeNumber to set
	 */
	public void setTypeNumber(String typeNumber) {
		this.typeNumber = typeNumber;
	}


	/**
	 * @return the sN
	 */
	public String getSN() {
		return SN;
	}


	/**
	 * @param sN the sN to set
	 */
	public void setSN(String sN) {
		SN = sN;
	}


	/**
	 * @return the pN
	 */
	public String getPN() {
		return PN;
	}


	/**
	 * @param pN the pN to set
	 */
	public void setPN(String pN) {
		PN = pN;
	}


	/**
	 * @return the notifier
	 */
	public String getNotifier() {
		return notifier;
	}


	/**
	 * @param notifier the notifier to set
	 */
	public void setNotifier(String notifier) {
		this.notifier = notifier;
	}


	/**
	 * @return the notifyDate
	 */
	public Date getNotifyDate() {
		return notifyDate;
	}


	/**
	 * @param notifyDate the notifyDate to set
	 */
	public void setNotifyDate(Date notifyDate) {
		this.notifyDate = notifyDate;
	}


	/**
	 * @return the loader
	 */
	public String getLoader() {
		return loader;
	}


	/**
	 * @param loader the loader to set
	 */
	public void setLoader(String loader) {
		this.loader = loader;
	}


	/**
	 * @return the loadDate
	 */
	public Date getLoadDate() {
		return loadDate;
	}


	/**
	 * @param loadDate the loadDate to set
	 */
	public void setLoadDate(Date loadDate) {
		this.loadDate = loadDate;
	}




	/**
	 * @return the customerName
	 */
	public String getCustomerName() {
		return customerName;
	}




	/**
	 * @param customerName the customerName to set
	 */
	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}




	/**
	 * @return the exchangeSN
	 */
	public String getExchangeSN() {
		return exchangeSN;
	}




	/**
	 * @param exchangeSN the exchangeSN to set
	 */
	public void setExchangeSN(String exchangeSN) {
		this.exchangeSN = exchangeSN;
	}




	/**
	 * @return the exchangePN
	 */
	public String getExchangePN() {
		return exchangePN;
	}




	/**
	 * @param exchangePN the exchangePN to set
	 */
	public void setExchangePN(String exchangePN) {
		this.exchangePN = exchangePN;
	}




	/**
	 * @return the comment
	 */
	public String getComment() {
		return comment;
	}




	/**
	 * @param comment the comment to set
	 */
	public void setComment(String comment) {
		this.comment = comment;
	}




	@Override
	@Transient
	public String getReportId() {
		return "BAC"+getId();
	}
	
	

}
